home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Robert Mapplethorpe - An Overview
/
Robert Mapplethorpe - An Overview.iso
/
axs.mst
< prev
next >
Wrap
Text File
|
1995-06-26
|
13KB
|
381 lines
'**************************************************************************
'* MSSetup Toolkit Sample 1
'**************************************************************************
'$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST APPHELP = 900
CONST BADPATH = 6400
''Bitmap ID
CONST LOGO = 1
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog.
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION InstallQT AS INTEGER
DECLARE FUNCTION RemoveOldQTFiles (FilePath$) AS INTEGER
DECLARE FUNCTION CheckForOld AS INTEGER
DECLARE FUNCTION WritePrivateProfileString LIB "krnl386.exe" (szSect$, szEntry$, szString$, szINI$) AS INTEGER
DECLARE FUNCTION GetQTWVersion LIB "setupenu.dll" (szDLL$) AS INTEGER
DECLARE FUNCTION GetResourceString LIB "setupenu.dll" (szResource$, idString%) AS INTEGER
DECLARE FUNCTION StartCustomSetup LIB "setupenu.dll" (hinst%, hwnd%) AS INTEGER
DECLARE FUNCTION StopCustomSetup LIB "setupenu.dll" (hinst%, hwnd%) AS INTEGER
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "Mapplethorpe CD Setup"
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "axs.INF"
END IF
ReadInfFile szInf$
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
res% = InstallQT
Install
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = EXITSUCCESS
ELSEIF ERR = STFQUIT THEN
dlg% = EXITQUIT
ELSE
dlg% = EXITFAILURE
END IF
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("Setup sources were corrupted, call AXS at (510) 540-5232!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'**
'** Purpose:
'** Builds the copy list and performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install STATIC
GroupName$ = "Mapplethorpe Overview"
SrcDir$ = GetSymbolValue("STF_SRCDIR")
CreateIniKeyValue "WIN.INI", "Extensions", "mpo", MakePath(SrcDir$,"imageaxs\imageaxs.exe ^.mpo"), cmoOverwrite
CreateIniKeyValue "WIN.INI", "Extensions", "dqt", MakePath(SrcDir$,"imageaxs\qtdci.exe ^.dqt"), cmoOverwrite
CreateProgmanGroup GroupName$, "", cmoNone
ShowProgmanGroup GroupName$, 1, cmoNone
CreateProgmanItem GroupName$, "Robert Mapplethorpe", MakePath(SrcDir$,"mapple.exe"), "", cmoOverwrite
CreateProgmanItem GroupName$, "Photo Gallery", MakePath(SrcDir$,"mapple.mpo"), "", cmoOverwrite
CreateProgmanItem GroupName$, "ReadMe", MakePath(SrcDir$,"readme.wri"), "", cmoOverwrite
CreateProgmanItem GroupName$, "ReadMe2", MakePath(SrcDir$,"readme2.wri"), "", cmoOverwrite
CreateProgmanItem GroupName$, "CD-ROM Catalog", MakePath(SrcDir$,"sampler\sampler.exe"), "", cmoOverwrite
CreateProgmanItem GroupName$, "Feature Tour", MakePath(SrcDir$,"tour\tour.exe"), "", cmoOverwrite
END SUB
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION
rem InstallQT: Perform actual installation
rem ------------------------------------
FUNCTION InstallQT STATIC AS INTEGER
rem Initialize global vriables
rem --------------------------
SOURCE$ = GetSymbolValue("STF_SRCDIR")
DEST$ = GetWindowsSysDir
DEST2$ = GetWindowsDir
DEST3$ = "C:\QTW"
LOCALINST$ = "1"
CLIENTINST$ = "2"
SERVERINST$ = "3"
SETUPPATH$ = DEST$
SETUPTYPE$ = LOCALINST$
APPNEEDS$ = "AppNeeds"
EXTRACOSTS$ = "ExtraCosts"
SECTIONKEY$ = "SectionKey"
SUCCESS% = INSTALLFAILED
ClearCopyList
rem For Local or Server installs ...
rem --------------------------------
'' IF (SETUPTYPE$ = LOCALINST$) OR (SETUPTYPE$ = CLIENTINST$) THEN
AddSectionFilesToCopyList "Files", SOURCE$, DEST$
AddSectionFilesToCopyList "Winexe", SOURCE$, DEST2$
'' END IF
j% = CheckForOld()
rem Copy all the files from the source to the destination
rem -----------------------------------------------------
CopyFilesInCopyList
rem Update WIN.INI and SYSTEM.INI
rem -----------------------------
'' IF (SETUPTYPE$ = LOCALINST$) OR (SETUPTYPE$ = CLIENTINST$) THEN
inia$ = MakePath(DEST2$, "WIN.INI")
inib$ = MakePath(DEST2$, "WIN.QTW")
CopyFile inia$, inib$, cmoOverwrite, 0
inia$ = MakePath(DEST2$, "SYSTEM.INI")
inib$ = MakePath(DEST2$, "SYSTEM.QTW")
CopyFile inia$, inib$, cmoOverwrite, 0
CreateIniKeyValue "WIN.INI", "Extensions", "mov", MakePath(DEST2$,"player.exe") + " ^.mov", cmoOverwrite
CreateIniKeyValue "WIN.INI", "Extensions", "pic", MakePath(DEST2$,"viewer.exe") + " ^.pic", cmoOverwrite
CreateIniKeyValue "WIN.INI", "MCI Extensions", "mov", "QTWVideo", cmoOverwrite
CreateIniKeyValue "WIN.INI", "MCI Extensions", "pic", "QTWVideo", cmoOverwrite
CreateIniKeyValue "WIN.INI", "MCI Extensions", "jpg", "QTWVideo", cmoOverwrite
i% = WritePrivateProfileString("MCI", "QTWVideo", MakePath(DEST$, "mciqtw.drv"), "SYSTEM.INI")
rem Compatibility hacks.
i% = WritePrivateProfileString("Macx", "DeviceBitmap", "OFF", "SYSTEM.INI")
CreateIniKeyValue "WIN.INI", "Mach", "devicebitmap", "off", cmoOverwrite
rem Update Registration Database
rem ----------------------------
RUN MakePath(DEST2$, "player.exe") + " install"
RUN MakePath(DEST2$, "viewer.exe") + " install"
rem Create QTW.INI
rem ----------------
ini$ = MakePath(DEST2$, "QTW.INI")
CreateIniKeyValue ini$, "QuickTime for Windows", "Implementation", "Full" , cmoOverwrite
RemoveIniKey ini$, "video", "optimize", cmoNone
'***********************************************************************************
rem Create a Program Manager group
rem ------------------------------
GROUP$ = "QuickTime for Windows"
CreateProgmanGroup GROUP$, "", cmoNone
CreateProgmanItem GROUP$, "Player", MakePath(DEST2$,"player.exe"), "", cmoOverwrite
CreateProgmanItem GROUP$, "Viewer", MakePath(DEST2$,"viewer.exe"), "", cmoOverwrite
CreateProgmanItem GROUP$, "Read Me", MakePath(DEST2$,"readme.exe"), "", cmoOverwrite
'' END IF
rem Indicate install completed OK
rem -----------------------------
InstallQT = INSTALLOK
END FUNCTION
rem Check for Older versions of the Quicktime For Windows components
rem ---------------------------------------------------------------
FUNCTION CheckForOld STATIC AS INTEGER
'' sz$ = UIStartDlg(CUIDLL$, OLDMESS, "FModelessDlgProc", 0, "")
CheckForOld1:
cursor% = ShowWaitCursor()
OldFilePath$ = FindFileUsingFileOpen("qtim.dll")
RestoreCursor cursor%
IF (OldFilePath$ <> "") THEN
j% = RemoveOldQTFiles(OldFilePath$)
IF j% = FILES_REMOVED THEN
GOTO CheckForOld1
END IF
END IF
CheckForOld2:
cursor% = ShowWaitCursor()
OldFilePath$ = FindFileUsingFileOpen("qtimcmgr.dll")
RestoreCursor cursor%
IF (OldFilePath$ <> "") THEN
j% = RemoveOldQTFiles(OldFilePath$)
IF j% = FILES_REMOVED THEN
GOTO CheckForOld2
END IF
END IF
GetLocalHardDrivesList "HardDrives"
NumDrives% = GetListLength("HardDrives")
IF (NUMDRIVES% > 0) THEN
FOR i% = 1 TO NumDrives% STEP 1
CurrentDrive$ = GetListItem("HardDrives",i%) + ":\"
CheckForOld3:
cursor% = ShowWaitCursor()
OldFilePath$ = FindFileInTree("qtim.dll",CurrentDrive$)
RestoreCursor cursor%
IF (OldFilePath$ <> "") THEN
j% = RemoveOldQTFiles(OldFilePath$)
IF j% = FILES_REMOVED THEN
GOTO CheckForOld3
END IF
END IF
CheckForOld4:
cursor% = ShowWaitCursor()
OldFilePath$ = FindFileInTree("qtimcmgr.dll",CurrentDrive$)
RestoreCursor cursor%
IF (OldFilePath$ <> "") THEN
j% = RemoveOldQTFiles(OldFilePath$)
IF j% = FILES_REMOVED THEN
GOTO CheckForOld4
END IF
END IF
NEXT i%
END IF
UIPOP 1
END FUNCTION
FUNCTION RemoveOldQTFiles (FilePath$) STATIC AS INTEGER
RemoveOldQTFiles = FILES_SKIPPED
SPLITPATH FilePath$, drv$, dir$, filename$, ext$
DeadPath$ = drv$ + dir$
rem check version resources if they exist
szVersion$ = GetVersionOfFile(FilePath$)
rem dialog choices are Remove,Skip ("Continue","Back" buttons)
SetSymbolValue "EditTextIn", "Found Version [" + szVersion$ + "] on " + DeadPath$
'' sz$ = UIStartDlg(CUIDLL$, NUKEOLD, "FEditDlgProc", 0, "")
sz$ = "CONTINUE"
UIPop 1
IF sz$ = "BACK" THEN
EXIT FUNCTION
END IF
IF sz$ <> "CONTINUE" THEN
EXIT FUNCTION
END IF
rem all versions
RemoveFile MakePath(DeadPath$, "qtim.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtimcmgr.dll"), cmoForce
rem version 1.0.0
RemoveFile MakePath(DeadPath$, "qcmc.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtjpeg.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtraw.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtsmc.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtrpza.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtrle.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtcvid.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtrt21.dll"), cmoForce
RemoveFile MakePath(DeadPath$, "qtvhdw.dll"), cmoForce
rem version 1.1.x and later
RemoveFile MakePath(DeadPath$, "mciqtw.drv"), cmoForce
RemoveFile MakePath(DeadPath$, "qcmc.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtjpeg.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtraw.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtsmc.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtrpza.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtrle.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtcvid.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtrt21.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "navg.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtiv31.qtc"), cmoForce
rem version 1.9 and later
RemoveFile MakePath(DeadPath$, "qtvhdw.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtyvu9.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtmsvc.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtiv32.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtiyvu9.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "qtvhdw.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "dhio_dh.qtc"), cmoForce
RemoveFile MakePath(DeadPath$, "reelmgic.qtc"), cmoForce
RemoveOldQTFiles = FILES_REMOVED
END FUNCTION